Release 1.48.3
===================================================

eqc_cover
--------------------------
Fix coverage for 'maybe' expressions
Add 'retag/2' to add tags to ticks after producing them

Release 1.48.2
===================================================

eqc_cover
--------------------------
Deal wih ~"sigil binaries"

Release 1.48.1
===================================================

Supporting OTP26, OTP27 and OTP28

pulse_otp
---------------------------
Re-introduced pulse_otp
- gen_server and friends used process features that are now supported

pulse
---------------------------
Updated pulse to new process features, such as process aliasses

eqc_cover
---------------------------
Updated to OTP28 with new language constructs

eqc_erlang_program
----------------------------
Updated for new language concepts such as strict and zipped generators


Release 1.47.1
===================================================

Supporting OTP26 and OTP27
Small enhancements, mostly to do with 'maybe', new type specs, documentation

pulse
----------------------------
Removed long term deprecated run_with_seed (use seed as option to pulse:run)

eqc_c
----------------------------
Fixes to C parser

eqc_cover
----------------------------
Update to OTP26 and OTP27
handle map comprehensions
handle "maybe"

eqc_erlang_program
----------------------------
Add generation of "maybe" to program generator


Release 1.46.3
===================================================

Support term_to_binary change
Communiction with licence server depended on term_to_binary
comparison.
This version can run in both OTP25 and OTP26 and one can
change between them.

eqc_statem
----------------------------
allow pretty printing using larger width parameter


Release 1.46.2
===================================================

Support for OTP25

eqc_cover
----------------------------
adapt for OTP25

eqc_c_lexer
----------------------------
add __asm__

eqc_erlang_program
----------------------------
OTP21 and before syntax supported

Release 1.46.1
===================================================

Support for OTP24

eqc_erlang_program and eqc_cover
----------------------------
Updated syntactic constructs (such as -0.0).

eqc_c
-----
Support for 128 bit integers

pulse
-----
Several enhancements, among which erlang:read_timer, erlang:cancel_timer, etc support



Release 1.45.1
===================================================

Support for OTP22 and OTP23

eqc_erlang_program
------------------
Updated to reflect changes to Erlang in OTP22 and OTP23

eqc_cover
---------
Use of ets counters
updates for newer OTP versions

eqc_group_commands
------------------
fix bug in use of MetaData
(If MetaData is supplied as additional argument, it shouldbe handled)

eqc
---
Features from before shrinking should not show up in final result
Better parallelization of properties

eqc_c
-----
Handling of unicode in gcc output
support for C's __float128
Handle some new clang features

pulse
-----
support for newer OTP versions
several improvements to pulse scheduling
more detail in pulse event graphs

eqc_statem
----------
Printable binaries are now printed more prettily
call_features/2 now behaves as documented


Release 1.44.1
===================================================

Erlang OTP R21 does no longer support paramerized modules:
older version of QuickCheck cannot be run on OTP R21.
Version 1.44.1 compiled for OTP R21 does run on OTP R21.

eqc_cover
--------
Update eqc_cover for OTP R20
Skip instrumentation of qlc code due to feature interaction of parse transforms

eqc_components
-------------
callouts with map generator now handled correctly

emacs
-----
Fix QuickCheck emacs mode to work with newer emacs version

Elixir
----
Conflict between erlang:is_list and Elixir compiler resolved


Release notes for 1.43.2
===================================================

eqc_group_commands
------------------
command_precondition_common is not checked for internal callouts
  (confusing behaviour for components was introduced in 1.43.1,
  fixed).
fixed next_state_common

eqc_c
-----
Parser improved to handle more type qualifiers

Release notes for 1.43.1
===================================================

eqc_cpp
-------
Extended support for generating C++ wrapper code:
* correct handling of static member methods
* handle namespaces for forward class declarations
* nested name spaces
* handle C++ (class) enums
* better name mangling when inside a name space
* more warnings for unsupported constructions (inheritance, etc.)

eqc_gen
-------
Improved generation speed for maps.

eqc_group_commands
------------------
New way of processing state machines and components
Should behave similar, but removed undocumented eqc_statem:mk_list/1

pulse
-----
Better naming of applications in traces


Release notes for 1.42.1
===================================================

Added support for testing C++ code via SWIG

eqc_cpp
-------
New module used to test C++ code

eqc_component
-------------
Fix adapt to return false if preconditions in callouts fail

more_bugs
---------
Also consider dynamic preconditions


Release notes for 1.41.3
===================================================

Added support for Erlang R20
ETS in Erlang R20 has references
pulse_otp for R20

pulse
-----
performance improvements
change of default verbosity to [format]


Release notes for 1.41.2
===================================================

eqc_mocking
-----------
Start and stop mocking framework improved

eqc
---
Fix issue with weird stacktrace returned
Enable nesting "on_output" functions


Release notes for 1.41.1
===================================================

eqc_cover
--------
Improve performance of eqc_cover (compile time and run time)
Present total coverage of all files on index page

eqc_mocking
-----------
Mocking reset and restore made more robust
Created utility functions create_api_spec/1 and create_stub_module/2
Added a passthrough mechanism to fallback such that only some
functions need to be specified in the api_spec

eqc_mock_replace
---------------
Removed this module, problem is now handled with passthrough in
eqc_mocking

eqc_statem
---------
Improved error messages when state records with type information are
used

eqc_components
-------------
Added callback process_common

eqc_gen
-------
Generator map/2 and utf8/1 are now automatically included
Generator non_empty works for maps as well

eqc
---
Minor improvements
Simplifying API aligning recheck with check, i.e., removed recheck/0,
instead one has to provide the property as argument. The same for
watch_shrinking; it takes a property as argument.


eqc_socket, eqc_trace
------------------
Removed unused modules eqc_socket and eqc_trace. There are better
ways to achieve the same in QuickCheck today

pulse
----
Improve reliability of unfair scheduling

emacs_mode
----------
Fix issue when user uses template without state record

Release notes for 1.40.2
===================================================

eqc_components
-------------
Fix error in using components with more_bugs. The standard call to
bugs in template did not work.

eqc_cover
--------
Fix bug in instrumenting code when M is not atom in M:F(A1...An).

Release notes for 1.40.1
===================================================

eqc_statem
---------
Fix that makes check_command_names accept parallel sequence

eqc_gen
-------
allow floats in frequency and weighted_default

eqc_statem_sim
-------------
Removed. It served no purpose any longer

eqc_cover
--------
Improved rendering when tabs are present
Fix map parsing in type spec R18 and R19

eqc_c
-----
fixed bug in always_inline detection
Improved error messages

eqc_group_commands
------------------
Fix transformation such that no unused variables are created

eqc_mock_replace
---------------
New module to address a specific mocking challenge

pulse
----
Improvements on process names and integration with components
Added "single mailbox" and "multi mailbox" semantics


Release notes for 1.39.2
===================================================

eqc_components
--------------
Call pulse_mocking instead of eqc_mocking when running PULSE
Do not report assertion failures for uninstantiated variables

eqc_mocking
-----------
Make local gen_server the default for mocking

eqc_statem
----------
Allow adapt callback to just return an argument list

Release notes for 1.39.1
===================================================

eqc_statem, eqc_component, eqc_cluster
---------------------------------
Big change in the representation of command sequences.
The sequences now contain the name of the model they are created with.
This means that run_commands and run_parallel_commands do no longer
need the ?MODULE as argument.
We preserve backward compatibility, but in the long run, the API will
change in favour of the simpler form.

elixir
----
From eqc_ex 1.4 we support the API change made to the state machines
above.
We add some QuickCheck functionality to allow for pretty printing Elixir.

more_bugs
---------
We added a new cool feature: more_bugs. For every state machine model,
you can use more_bugs to get not one, but many errors from one test
run.



Release notes for 1.38.3
===================================================

elixir
------
Made licence registration on Elixir work.
Added also force_registration to eqc for shell registration tasks

eqc_cover
---------
Fixed css problem on Safari when showing results


Release notes for 1.38.2
===================================================

eqc_statem
---------
Fixed a serious bug in eqc_statem causing pretty_print to fail for
incomplete runs of parallell commands.


Release notes for 1.38.1
===================================================

eqc_cover
---------
Cover compilation depends on the Erlang version running.
eqc:start() now prints the Erlang version it is compiled with and for.

eqc
---
Added the possibility to run independent tests in parallel
Make licence registration easy to script by a force_registration api
improved pretty printing in equals/2

eqc_gen
-------
Some new generators, such as list/2 and utf8/1

eqc_c
-----
fixed parse error for struct fields with attributes
Several small improvements

eqc_statem
----------
Introduce commands_length to measure length of (parallel and sequential) command sequence
Added conj/2 to standard imported functions.


Release notes for 1.37.2
===================================================

eqc
---
Added a print method count_values/0
Some smaller layout changes in printed results

eqc_c
-----
Added bitmask handling
Added support for handling C closures

eqc_c_enum
----------
Allow atoms in Erlang to represent integers on the C side without a C
typedef
Some documentation enhancements


Release notes for 1.37.1
===================================================

pulse
----
New function is_instrumented/1 to check whether loaded module has been
instrumented with pulse

pulse_event_graph
-----------------
Verbosity can now be used when drawing the graph
Fixed bug loosing side-effects in erlang:send

eqc
---
Added check_distribution, failing the property if a certain distribution is not met during testing.
Added function dont_print_counterexample.

eqc_c
-----
In Erlang there are no variable arity functions, but in C there are, using ...
Allow some interaction with those '...' functions in eqc_c.

eqc_statem
----------
Added check_command_names, which fails if not all commands are part of a test run.
Changed the format of the internal statem history data type and provided access functions to the datatype.

eqc_component
-------------
Exceptions in mocking are now reported as part of postcondition check
Callback _command cannot be used in eqc_component; we now give an error message.
Added check_command_names, which fails if not all commands are part of a test run.

eqc_cluster
-----------
Fixed ?REPLICATE macro to return result
api_spec is no longer imported in eqc_cluster.hrl to allow for clustering identical components in which some use mocking, others do not.

eqc_mocking
-----------
Fix bug in ?REPLICATE implementation in callout language.
Allow classify field in #api_fun to be a function, which is handy for clusters of identical components.

eqc_cover
---------
Improved visualization of what has been covered

emacs_mode
----------
small fixes and better property generated for eqc_cluster callback module

eqc_erlang_program
------------------
Don't generate local functions clashing with auto-imports


Release notes for 1.36.1
===================================================

eqc_gen
-------
Improved the list shrinking behaviour. In many cases lists will shrink
quicker to minimal case.
Bug fix: made noshrink and resize outside ?SETUP work
Finally added the sublist generator
Improve shrinking of maps

eqc_cover
--------
Enable QuickCheck's cover tool to be used for line coverage in feature
based testing

eqc_emacs_mode
--------------
Some enhancements in Emacs mode

eqc_ag
-----
Added attribute grammar library as experimental feature.
This does not work with Erlang R18 and may change in the near future

CI system
--------
Better support for QuickCheck on virtual machine images

Documentation
------------
We now generate docset documentation when we create releases.



Release notes for 1.35.2
===================================================

eqc_cluster
---------
updated documentation

eqc_fsm
-------
fixed an error: if we cannot compute the arity of a function from its
generator, then do not provide the arity in the generated graph.

eqc_fsm_esi
----------
Documentation refinement.

eqc
---
Fix bug when shrinking function values


eqc_statem
---------
Fixed newly introduced bug where we forgot about thrown exceptions in
user code

Release notes for 1.35.1
===================================================

eqc_components
--------------
Updated documentation. Only use grouped style callbacks for
components, old format did not work.
Added features to components for requirement traceability

eqc_statem
----------
Improved performance of shrinking by slightly different shrinking
strategy
Changed documentation to be grouped style by default
Changed pretty printing of error reason when command fails

eqc_cover
---------
fixed race condition in eqc_cover

eqc_fsm
-------
Revised eqc_fsm and added eqc_fsm_esi to enable graphical editing of
state graphs by external tools

eqc
---
Drop support for Erlang R14 stack traces

pulse
-----
fixed bug in return of spawn_opt


McErlang
--------
removed McErlang support from QuickCheck
Nobody seems to use McErlang in combination with QuickCheck

Emacs mode
----------
Re-engineered the emacs mode, many new features.


Release notes for 1.34.3
===================================================

eqc_symbolic
------------
print 0.0/-1 as -0.0

eqc_cover
---------
Included documentation

eqc_mocking
-----------
Improved documentation

eqc_c_enum
-----------
Improved documentation


Release notes for 1.34.2
===================================================

eqc_mocking
-----------
Enable mocking on distributed notes


Release notes for 1.34.1
===================================================

eqc_component
-------------
Print callout exceptions as exit(Reason) instead of {'EXIT',Reason}
Better error messge for missing callout with ?VARs.

eqc_mocking
-----------
Revisisted validation failure computation: Erlang callouts are now by default matched on their arguments. Some previously ambiguous callout languages are no longer ambiguous...
Show results of ambiguous callouts in error message
  You now get
    cant_choose_between:
      mock:foo(1) -> 0
      mock:foo(1) -> 1
  instead of just the two mock:foo(1)

eqc_group_commands
------------------
Handle parameterized components, state machines and finite state machines. This allows to cluster a number of components with the same specification.
Generate a function all_command_names as part of the parse transformation that returns a list of atoms with the commands defined in this module (the external API commands).

eqc_erlang_program
------------------
Added generation of parameterized modules (for testing our group_commands)
Added generation of recursive fun's
Added option for list of forbidden words

eqc_statem
----------
Meta data is printed in blue if terminal supports ANSI characters

Release notes for 1.33.3
===================================================

Fixed a bug due to history of eqc_statem difference. run_parallel_commands was broken due to this change.

eqc_statem
----------
Fix parallel_commands to work again

Release notes for 1.33.1
===================================================

One major change that breaks backward compatibility.
The run_commands function returns a different history. Thus, if your QuickCheck specification, against all odds, uses the H in the return tuple {H, S, Res}, then you might need to update the specification.

eqc_component
-------------
Improved support for blocking calls.
If adapt function available, it should not crash.
pretty printing improved
  Eg. There's now ?ASSERT/3 that uses the MFA and the source location
  as failure reason. This gets pretty printed by pretty_commands in
  a nice readable form on failures.

eqc_dynamic_component
---------------------
Make it possible to use symbolic data in dynamic components for improved shrinking behaviour

eqc_mocking
-----------
Global registration of mocking server, instead of locally.
  (Might be a problem if you try to run multiple test runs within
  the same distributed cluster.)
allow symbolic return values bound in the same api call

eqc_statem
----------
Added call features
Optimise substitute in eqc_statem
pretty printed reason in pretty_commands

eqc_fsm
-------
Implemented grouped style for fsms

eqc
---
added options to control total testing time to eqc:module/2

    {testing_budget, Seconds} sets total time available for testing The time is
    distributed between the properties using a callback property_weight/2, which
    takes a testing profile and a property name.

    The profile can be set with the {testing_profile, Profile} option and can be
    an arbitrary term.

examples
--------
Removed parametrization from sets_eqc
Added an example of testing random erlang programs

PULSE
-----
Improved the ability of PULSE to communicate with the extern world, that is instrumented code that sends messages to uninstrumented code and receives messages from uninstrumented code
Added timing models. When talking to external world we need to be able to deal with time differently
Minor improvements
e.g. handle erlang:process_info(Pid, links)

Release notes for 1.32.3
===================================================

eqc_cover
---------
Add the javascript and css files needed to make html output

eqc_components
--------------
Improvements on callout language and support for blocking calls



Release notes for 1.32.2
===================================================

eqc_emacs_mode
--------------
Make rpbust against R18 spec notation

eqc_components
--------------
Document new callout language constructs



Release notes for 1.32.1
===================================================

This is the last release that supports Erlang release R16
Map data types have been added to Erlang and QuickCheck for
R17 supports this. But there is a release without Maps with
otherwise the same functionality.

New in release 1.32:

eqc_loadtest
------------

* Support for generators that increase in size with each new test.

eqc_erlang_programs
-------------------

* Program generator for random Erlang programs to help test the compiler,
  cover tools, syntax tools, etc.


eqc
---
* Fix issues with PULSE not starting automatically.
* Added support for Maps, but only in R17 version
* Extend numtests to accept a minimum or maximum number of tests, as well as an absolute number.
* Disabled shrinking inside time-outs, to avoid memory overflow


eqc_gen
------
* Improve shrinking performance of shuffle.
* Improved performance of random functions
* added utf8 generator


eqc_component
-------------

* More support for blocking and worker processes
* Improved pretty printing

eqc_cluster
-----------

A lot of changes to make cluster handling smarter when components can block

* Fixed broken commands/2
* Fixed precondition bug
* fixed issues with double blocking where ?SELF could get lost


eqc_mocking
-----------

* Improved handling fallback module


eqc_statem
----------

* Fix interplay between symbolic calls and symbolic variables
* Improved pretty printing


application .app files
----------------------

Do no longer include {mod, ….} in app files, since McErlang, PULSE etc are
libraries more than OTP applications


Release notes for 1.31.1
===================================================

eqc
---

* Exceptions during shrinking now cause fewer possible shrinking
  candidates to be discarded, leading to smaller counter-examples.

* Allow nested testing time

* Stack traces are preserved more carefully after exceptions.

* Fixed a bug which caused with_parameter to have no effect on a
  property with a ?SETUP.

* Fixed a bug resulting in eqc_numtests(0,…) to return gaveup instead of ok.

eqc_gen
-------

* shrink_int now raises an exception of the value to be shrunk is not
  an integer.

* different handling of exceptions during shrinking

* added ?FILE:?LINE to ?SUCHTHAT error message

eqc_symbolic
------------

* Improved pretty-printing of records.

eqc_statem
----------

* Fixed bugs in parallel commands, affecting tests of blocking operations.

* Bug fixes and performance improvements.

* Fixed bug in variable normalization


eqc_temporal
------------

* The behaviour of coarsen has been revised to give it cleaner properties.

eqc_c
-----

* Improved error messages from eqc_c:start, and related to unions.

* Changes to support R17.

* The C node is no longer restarted after an exception.

* gcc errors are no longer printed when 'silent'.

* Fixed a bug causing type definitions such as
    typedef struct { int x; } X, *XPtr;
  to generate uncompilable code.

* Bug fixes.

* Added eqc_c_enum for better enum support

eqc_component
-------------

* Improved shrinking in callouts.

* Added ?ASSERT, since ?FAIL does not work in postconditions

* Making default mocking depending on language

* Self call-outs are now allowed in ?EITHER and ?REPLICATE.

* Bug fixes.

eqc_cluster
-----------

* No longer crashes if the total weight of possible calls is zero.

* Bug fixes and performance improvements.

eqc_mocking
-----------

* Improved error messages.

* Bug fixes.

eqc_mocking_c
-------------

* Improved and added documentation.

* Allow stored type void, meaning argument is invisible.

* Relaxing the validation of mocking descriptions.

* Bug fixes and optimisations.

eqc_mcerlang/pulse_otp
----------------------

* Some required information was missing from the generated .app files.

PULSE
-----

* Fixed a bug that could cause a licence authorization failure.

* Bug fixes affecting re-use of an existing schedule.

* Work around a bug in erl_syntax in R16B03.

eqc 1.30
========

eqc_statem
----------

* Fixed a bug in the grouped style which could cause
  precondition_common to be ignored.

eqc_suite
---------

* Fixed a bug that could cause feature-based testing to miss some
  features.

eqc_c
-----

* 'NULL' is now allowed to represent a null pointer in Erlang.

* A single value can now be passed where a pointer is expected; memory
  to hold the value is allocated automatically.

* A new option {casts,Mod} to eqc_c:start allows custom conversions
  between Erlang values and C types.

* A new module eqc_c_enum, for use with the casts option, allows C
  enum types to be referred to using corresponding Erlang atoms.

* A new option return_error to eqc:start changes its behaviour if
  compilation fails.

* The C parser now accepts an empty file.

* The parser now accepts the __thread attribute.

* Bug fixes.

eqc_mocking_c
-------------

* Introduced "buffer" pointers to API specs, which copy an array of
  elements to and from the C node.

* Introduced "silent" call-outs to API specs, which are mocked, and so
  can be called from the C code under test, but whose calls are not
  checked against the mocking specification.

* Introduced a mechanism for specifying custom type casts between C
  and Erlang.

* A void type for input arguments now means they are invisible.

* Introduced start_mocking/6.

* Improved pretty-printing of mocked functions.

* Improved error messages.

* Bug fixes.

eqc_component
-------------

* eqc_component now supports "meta commands", which expand to a
  sequence of commands during test case generation. Typically a meta
  command is used to increase the probability of certain useful
  sequences occurring--for example, a sequence of commands needed to
  set something up.

* We now allow deep lists in ?SEQ(List) and ?PAR(List). This is handy
  when building a list using list comprehensions.

* ?ASSERT has been added to the mocking language.

* Improvements to shrinking.

* Bug fixes.

eqc_cluster
-----------

* Bug fixes.

eqc 1.29
========

eqc
---

* It is now possible to define set-up and tear-down functions, to be
  run before starting to test a property, and after all the tests have
  finished. See ?SETUP in module eqc.

* eqc:format/2 can now be used instead of io:format/2 inside
  ?WHENFAIL, which enables the output to be redirected using
  eqc:on_output.

* parameter(shrinking,false) can now be used in generators to discover
  if we are currently shrinking a test case or not.

eqc_statem
----------

* eqc_statem now supports metadata in symbolic calls (a fifth
  component in the tuple). Carrying some additional information along
  with a generated call has many uses.

* eqc_statem now provides eq/2 for use in postconditions. eq(X,Y) is
  logically equivalent to X==Y, but results in a better error message.

* It is now possible to define common pre- and post-conditions that
  apply to all commands in the grouped style.

* Improved warning messages when using the grouped style.

* eqc_statem now calls a new optional call-back, adapt/2, which can be
  used to improve shrinking by specifying how to adapt commands
  generated in one state for use in another one.

* A memory leak in long-running tests has been fixed.

* Optimisations to test case generation and shrinking.

* Bug fixes, including to the testing of blocking calls in parallel
  tests.

eqc_c
-----

* union types are now supported.

* bug fixes in the C parser.

* compiler warnings no longer cause problems under Windows.

eqc_component
-------------

* The Emacs mode now includes templates for eqc_component.

* eqc_component now allows commands to be defined by a _command
  call-back or an _args call-back.

* eqc_component now provides run_commands/3, which takes an
  environment of symbolic variable bindings as an additional
  argument.

* Now provides eq/2 for use in post-conditions.

* The mocking specification language has been enriched.

* Improved pretty-printing of C call-outs.

* Improved shrinking of callouts.

eqc_mocking
-----------

* The API spec notation has been extended.

* eqc_mocking now restores mocked modules to their original versions
  after testing is complete.

* Bug fixes.

eqc_mocking_c
-------------

* More flexibility and better error messages.

* The handling of C booleans has changed.

eqc_cluster
-----------

* eqc_cluster now provides commands/2, to allow variable initial
  states to be specified.

* The Emacs mode now includes templates for eqc_cluster.

* An api_spec can now be included in a cluster specification.

* Bug fixes.

eqc_grammar
-----------

* Bug fix to allow floats and other types in the symbolic tree.

PULSE
-----

* Code instrumented with PULSE need no longer export_all.

* PULSE now instruments send_after and functions that manipulate
  timers, to use a virtual time instead of real time.

* Bug fixes.


eqc 1.28
========

The release notes no longer depend on TiddlyWiki; they are just an
ASCII file.

The most significant change in this version is the inclusion of
several new modules to support mocking in QuickCheck state
machines. New modules eqc_mocking and eqc_mocking_c support mocking
of Erlang and C functions respectively, while eqc_component is a
variant of eqc_statem that allows the behaviour of the mocked
functions to be specified for each call generated by the state
machine, using QuickCheck's new mocking language. Components specified
using eqc_component can also be clustered together using eqc_cluster;
in this case calls between components in the cluster become internal
calls in the code under test, which are neither mocked, nor called
directly by test cases. For example, the various layers of a protocol
stack could be tested in isolation using eqc_component, mocking calls
from one layer to another, then linked together and the entire stack
tested in an end-to-end manner using eqc_cluster. See the
documentation of eqc_component and eqc_cluster for details.

eqc
---

* eqc:check/1 has been added to the API. eqc:check(Property) tests the
  property with the most recent counter-example found.

* Locking of licence files has been made more robust; it can now
  tolerate file systems with non-atomic file deletion.

* Exceptions during shrinking are now caught, and any shrinking
  alternatives that depend on them are discarded.

* Stack traces in exceptions caught by QuickCheck are now more
  informative.

* Defining a function with the same name as an automatically imported
  QuickCheck function will no longer cause an error--the local
  definition takes priority.

* eqc_gen:pick/1,2 (which have long been deprecated) are no longer
  automatically imported by eqc.hrl.

eqc_statem
----------

* In the grouped syntax, eqc_statem now allows an operation to be
  generated using either a _command call-back, or an _args
  call-back. Giving both for the same command is an error.

* In the grouped syntax, a _return call-back can now be specified to
  define an expected return value.

* In the grouped syntax, the _next call-backs may now include symbolic
  calls in their result.

eqc_c
-----

* eqc_c can now kill zombie C processes that fall into an infinite
  loop, but this depends on R15B02 or later.

* eqc_c now removes unsupported declarations, and anything that
  depends on them, to avoid generating code that does not compile.

* Bug fixes.

Emacs mode
----------

* The QuickCheck Emacs mode has been extended considerably.


Bug fixes
---------
In:
  pretty_commands
  a memory leak in eqc
  PULSE instrumentation
